package com.wxit.algorithm.queue;

public interface Queue <E> {

    /**
     * 像队列尾部插入值
     * @param value 插入的值
     * @return 成功返回true，失败返回false
     */
    boolean offer(E value);

    /**
     * 从队列头部获取值，并从队列中移除该元素
     * @return
     */
    E poll();

    /**
     * 从队列头部获取值，但不移除该元素
     * @return
     */
    E peek();

    /**
     * 判断队列是否为空
     * @return
     */
    boolean isEmpty();

    /**
     * 检查队列是否已满，满返回true，否则返回false
     * @return
     */
    boolean isFull();
}
